The invention relates generally to the field of digital data processing systems and more particularly to digital data storage and backup subsystems. The invention provides a system and method for efficiently transferring information to be restored from a backup subsystem in which information is backed up to a mass storage subsystem during a restore operation.
Digital computer systems are used in a number of applications in which virtually continuous availability of data is important to the operation of businesses or other entities using the systems. Generally, computer centers will periodically produce back-up copies of data on their various digital computer systems. Such back-up copies are usually not maintained on a continuous basis, but instead at particular points in time, often at night when the normal processing load on the computer centers is reduced and modifications to the data being backed up may be minimized, and in any case represent the data at the particular points in time at which the back-up copies are generated. Accordingly, if a failure occurs between back-ups, data which has been received and processed by the digital computer systems since the last back-up copy was produced, may be lost. Typically, such back-up copies will be maintained by the computer centers at their respective sites so that they may be used in the event of a failure, although some off-site archival back-ups may be maintained. Significant additional problems arise in the case of, for example, catastrophic events that can occur, such as may result from, for example, fire, flood or other natural disasters, intentional tampering or sabotage and the like, which may result in unintentional or intentional damage to an entire site or some significant portion thereof, since some or all of the back-up copies may also be damaged and the data contained thereon may be unavailable.
The invention provides a new and improved system and method for restoring previously backed-up data to a mass digital data storage subsystem, and more specifically a system and method for efficiently transferring information to be restored from a backup subsystem in which information is backed up to a mass storage subsystem during a restore operation.
In brief summary, the invention provides a system comprising a mass storage subsystem, as a master device and backup subsystem, as a slave device, the slave device transferring data items to the master device during a restore operation. Each data item to be restored is identified by a data item identifier. The master device is configured to, in each of a plurality of iterations, receive from the slave device data item identifiers identifying a data item transferred during a previous iteration and a data item to be transferred during the current iteration and to request the slave device to transfer the data item to be transferred, the master device being further configured to use the data item identifier that it receives from the slave device identifying the data item transferred during the previous iteration to confirm that the data item corresponded to the data item that was to have been transferred during the previous iteration. The slave device is configured to, in each iteration, provide it the master device with the data item identifiers identifying the data item transferred during the previous iteration and the data item to be transferred during the current iteration and transfer the data item to be transferred during the iteration to the master device when requested by the master device.
In one embodiment, the master device is further configured to initially provide the slave device with a list of data item identifiers and to thereafter control the transfer of data from the slave device to the master device in a plurality of iterations, and the slave device is further configured to receive the data item identifier list from the master device and order the data item identifiers thereon in an order that it prefers for transfer to the master device. In that embodiment, the data items to be transferred are stored on a serial information store, such as a magnetic tape, and the slave device determines the ordering to provide for optimal retrieval of the data items from the information store.